#ifndef _PAUSE_STATE_H
#define _PAUSE_STATE_H

class PauseState : public AppState
{
public:
		PauseState();

    DECLARE_APPSTATE_CLASS(PauseState)
	virtual		void CreateScene();
	virtual 	void Enter();
	virtual 	void Exit();
	virtual 	void Update(double fDeltaTime);

	virtual		bool keyPressed	(const OIS::KeyEvent &keyEventRef);
	virtual		bool keyReleased(const OIS::KeyEvent &keyEventRef);
	virtual		bool mouseMoved		(const OIS::MouseEvent &evt);
	virtual		bool mousePressed	(const OIS::MouseEvent &evt, OIS::MouseButtonID id);
	virtual		bool mouseReleased	(const OIS::MouseEvent &evt, OIS::MouseButtonID id);
	virtual		void buttonHit		(OgreBites::Button* button);

	void yesNoDialogClosed	(const Ogre::DisplayString& question, bool yesHit);

private:
    bool m_bQuit;
	bool m_bRestartGame;
    bool m_bQuestionActive;
};

#endif //_PAUSE_STATE_H
